public class Factorial {
    public static long fact(long n) {
        //计算n的阶乘时，不能用复数作为参数，
        //如果使用复数时，就抛出异常（非法参数异常）
        if (n < 0) {
            throw new IllegalArgumentException();
        }
        long r = 1;
        for (long i = 1; i <= n; i++) {
            r = r * i;
        }
        return r;
    }
}
